Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Port to Gtk4 #780

Draft
wants to merge 129 commits into
base: master
Choose a base branch
from
Draft

Port to Gtk4 #780

wants to merge 129 commits into from

Conversation

jeremypw
Copy link
Collaborator

@jeremypw jeremypw commented Sep 4, 2024

Compiles and runs but pretty broken.

Need to extract what can be done in Gtk3 first.

Notes:

  • CheckButtons do not seem to work with only an action_target (no action name) in Gtk4 so the theme string is now added as data. Smaller diff than creating an action to change the theme.
  • Theme buttons needed to have different css class names added to them when their provider is added to the display else they overwrite each other. Adding the providers to the buttons own style context did not work.
  • Application tests have been inactivated pending finding out why they do not work under Gtk4. CI now expected to fail for stable and unstable but pass for development target.
  • vte-2.91-gtk4 (?) seems to have a bug in the native handling of copy paste. This did not work as is does under Gtk3 even if the keypress controller was removed. So for now we handle both modes.
  • Since we already have a keycontroller, it is easier to implement keyboard zooming in the handler rather than create zoom actions and Gtk.Shortcuts.
  • Application.add_accels_for_action only works for global action so added shortcuts for terminal actions using a ShortcutController.
  • Ctrl-Zoom is simplified and is smoother. KeyController is no longer involved. At present any combination of modifiers including <Control> works but that is easily changed if required.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants